package IOAndProperties.IO;

import java.io.FileWriter;
import java.io.IOException;

/*
    close和flush的区  别
        flush ：刷新缓冲区，流对象可以继续使用。
        close :先刷新缓冲区，然后通知系统释放资源。流对象不可以再被使用了。
*/
public class FileWriteCloseAndFlushTest01 {
    public static void main(String[] args) throws IOException {
        //创建FileWrite对象，构造方法传入文件路径
        FileWriter fileWriter = new FileWriter("/Users/ivy/Documents/java/mydir/FileWrite2.txt");
        //写入单个字符，此处是将字符写入到内存缓冲区内，并且存在字符到字节的转换的过程
        fileWriter.write(98);
        //使用flush方法将缓冲区内的数据写入到文件中
        fileWriter.flush();
        //在刷新之后，流可以继续使用
        fileWriter.write(99);
        //close方法执行之前会主动执行一个flush方法，将缓冲区的数据写入文件中
        fileWriter.close();
        //当流被关闭中之后，在写入数据会出现异常，"java.io.IOException: Stream closed"
        //fileWriter.write(97);
    }
}
